// 获取应用实例
const app = getApp()

Page({
    data: {
        formData: {
            id: 0,
            avatar: '',
            realname: '',
            mobile: '',
        },
        user: null,
        avatarUrl: '',
        web_data: null
    },
    onLoad() {
        wx.setNavigationBarTitle({
            title: '我的资料'
        });
    },

    // 每次显示时
    onShow: function () {
        // 验证是否登录
        if (app.check_is_login(false, true)) {
            this.get_userinfo();
        }
    },

    // 获取用户信息
    get_userinfo: function () {
        var __this = this;
        // 获取用户
        var result = app.request_api('api/pro.User/getUserInfo');
        result.then(res => {
            console.log(res)
            __this.setData({
                user: res,
                [`formData.id`]: res.id,
                [`formData.avatar`]: res.avatar,
                [`formData.realname`]: res.realname,
                [`formData.mobile`]: res.mobile,
            });
            // 获取用户权限配置等
            __this.get_web_config();
        });
    },

    // 获取应用基础数据
    get_web_config: function () {
        // 发起请求
        var result = app.request_api('admin/index/index', {}, false, 'GET');
        result.then(res => {
            console.log(res)
            this.setData({
                web_data: res
            });
        });
    },

    // 输入框改变
    formInputChange(e) {
        const {field} = e.currentTarget.dataset
        this.setData({
            [`formData.${field}`]: e.detail.value.trim()
        });
        console.log(this.data.formData);
    },

    // 选中图片时
    onChooseAvatar(e) {
        var choose_url = e.detail.avatarUrl;
        this.setData({
            avatarUrl: choose_url,
            [`user.avatar`]: choose_url
        });
    },

    // 提交表单
    formSubmit: function (e) {
        var __this = this;
        // 验证是否需要上传头像
        if (__this.data.avatarUrl != '') {
            var upload_res = app.request_upload('', {
                cdn_url: __this.data.web_data.siteConfig.apiUrl,
                token: __this.data.web_data.siteConfig.upload.token,
            }, __this.data.avatarUrl, 0);
            // 上传成功的回调
            upload_res.then(res => {
                __this.setData({
                    [`formData.avatar`]: res.file_path,
                });
                // 调用接口
                __this.save_user_info();
            });
        } else {
            __this.save_user_info();
        }
    },

    // 调用接口保存用户信息
    save_user_info: function () {
        var __this = this;
        // 发起请求
        var result = app.request_api('api/pro.User/setUserInfo', __this.data.formData);
        result.then(res => {
            // 跳转回前一页
            wx.showModal({
                title: '提示',
                content: '保存成功',
                showCancel: false,
            });
        });
        wx.hideLoading();
    },

    // 获取手机号码
    getPhoneNumber: function (e) {
        var __this = this;
        console.log('getPhone',e)
        if (e.detail.code) {
            // 发送到后台绑定
            var result = app.request_api('api/pro.User/setMobile', {
                // code: e.detail.code,
                detail: e.detail
            });
            result.then(res => {
                console.log(res)
                __this.setData({
                    [`formData.mobile`]: res.userinfo.mobile,
                });
                // 删除token
                wx.removeStorage({
                    key: 'token'
                });
                // 重新登录
                app.miniapp_login(false);
                // 重新获取资料
                wx.showModal({
                    title: '提示',
                    content: '绑定成功',
                    showCancel: false,
                    complete() {
                        // 重新调取资料
                        __this.get_userinfo();
                    }
                });
            })
        }
    },


})
